Software Engineering • Senior Project Spotlight
12-20-2018
It takes confidence to develop a good idea and dive in. Purdue Computer Science students have that trait in abundance. CS 40700 (Software Engineering Senior Project) is the capstone course which offers a hands-on development experience to seniors in the Software Engineering Track. The knowledge, skills, processes, and tools the students have learned to use throughout their college career culminate in a final, professional project meant to solve a problem by creating a software solution
The course instructor is Professor H.E. "Buster" Dunsmore, along with CS graduate student teaching assistants Alina Nesen, Akshay Jajoo, Pavani Guttula, and Johanna Collins help the students by using their knowledge of real-world software development practices. Each serves as the Project Coordinator for eight teams, helping teams to formulate a design, implementation, and project plan. Every team is comprised of four to six students, this semester’s class consisted of 138 students, in teams of four to six, for a total of 29 teams. The Project Coordinators guided the teams to achieve a level of quality the industry expects of professional projects.
Here are five teams from CS 40700, demonstrating the quality of the projects this semester.
Mirage Smart Mirror (Project Coordinator Johanna Collins)
Amjad Zahraa, Anirudh Pal, Sultan Alshamsi, and Andrew Peterson created a smart mirror which aims to enhance a typical morning routine. A user steps in front of the mirror and it recognizes who they are and what they care about. It presents a customized daily newsfeed, weather, calendar events, and commute time. The Mirage Smart Mirror is tailored personally for the user, while still maintaining some basic functions. The mirror boasts many different features, like the “grooming mode” with a ring light which illuminates the face. It is focused on integrating morning functions into one customizable device. “Everyone has a mirror that they use every day. But what does it do? Nothing…Mirage is not only a mirror, but also a screen that shows you the time, weather, calendar, news, and much more!” - Mirage Smart Mirror Team
AllergySnap (Project Coordinator Akshay Jajoo)
Fantasy Club (Project Coordinator Akshay Jajoo)
Aaron Althoff, Brandon Loi, Hunter Sullivan, and Jimmy Smagacz created a web application to help organize aspects of the game system, AQ: Jaern, for the Purdue Fantasy Club. The system needed improvements, changes, and organization for facets of the club and game, including dice rollers, character sheet archives, and integration of the rulebook. Unique spells and abilities, characters, and game summaries of the system were difficult to manage and needed its own unique web application. Similar apps, like Dungeons & Dragons were unsuitable, while others which included similar features, such as dice rolling applications, were too simple and do not reduce bookkeeping.
EnCourse (Project Coordinator Pavani Guttula)
Killian Le Clainche, Jarett Lee, Shawn Montgomery, Jordan Buckmaster, Jordan Reed and Ryan Sullivan developed an application designed to record class trends and individual student changes. The team's project focused on providing professors a tool to monitor the progress of their classes. The tool also tracks any trace of academic dishonesty by a student. The software was developed with the help of CS Prof. Gustavo Rodriguez-Rivera as the Project Owner. He participated in each of the three project reviews during the semester to give feedback to the team. "I think EnCourse will really help CS professors here at Purdue," said Prof. Rodriguez-Rivera, "EnCourse will become a very useful tool for detecting plagiarism in code because it takes a novel approach to detection that deviates from most other methods."
DZA (Project Coordinator Alina Nesen)
Adam Johnston, Benjamin Maxfield, Brian Duffy, Jalen Smith, Terry Lam and Christian Lock created DZA, a web application geared toward helping developers monitor data stored in third-party services. Presently, service architectures are extremely popular to maintain accounts and data. Nevertheless, not all services have built-in version histories for this data. DZA allows users to build a request flow to track changes to their data in any service, much like Github does for client data. At this time, there is another product or web application which currently provides this kind of service.